<%@ page import="java.util.LinkedList" %>
<%@ page import="com.candy.bean.UserInfo" %>
<%@ page import="java.util.HashMap" %><%--
  Created by IntelliJ IDEA.
  User: user
  Date: 2025/3/19
  Time: 15:59
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>EL表达式的演示</title>
</head>
<body>
<%
    pageContext.setAttribute("username","zhangsan");
    request.setAttribute("username","tom");

    LinkedList ls=new LinkedList();
    ls.add("张三");
    ls.add("李四");
    ls.add("王五");
    session.setAttribute("lsdata",ls);

    UserInfo userinfo=new UserInfo();
    userinfo.setUsername("哪吒");
    userinfo.setUseraddress("天津陈塘关");
    session.setAttribute("userinfo",userinfo);

    HashMap hp=new HashMap();
    hp.put("username","敖丙");
    hp.put("age",3);
    session.setAttribute("mapdata",hp);
%>
<%--使用EL表达式从隐含对象中将数据取出--%>
<%--在没有指定从具体的缓存范围内取值时，或默认按照缓存范围的从小到大的顺序进行查找，找到后输出，并不会继续向下查找--%>
${username}
<%--若想要从指定的缓存对象中取出，需要手动指定缓存对象--%>
请求域中的username：${requestScope.username}
<br/>
<%--若想要取出数组或有序集合中的数据，可以通过操作符[]的方式，指定元素的索引将数据取出--%>
取出集合中的第一个数据：${lsdata[0]}

<br/>
<%--在EL表示式中若想将javaBean对象的属性取出，可以使用操作符.或者[]--%>
用户名：${userinfo.username},家庭住址：${userinfo["useraddress"]}

<br/>
<%--若从map中取出对应的数据，可以通过操作符[]，指定key值，就能够取出对应的value--%>
map中的数据，用户名：${mapdata["username"]}，${mapdata["age"]>18?"已成年":"未成年"}
</body>
</html>
